Run-time Bytecode Specialization A Portable Approach to Generating Optimized Specialized Code⋆
نویسندگان
چکیده
This paper proposes a run-time bytecode specialization (BCS) technique that analyzes programs and generates specialized programs at run-time in an intermediate language. By using an intermediate language for code generation, a back-end system can optimize the specialized programs after specialization. As the intermediate language, the system uses Java virtual machine language (JVML), which allows the system to easily achieve practical portability and to use sophisticated just-in-time compilers as its back-end. The binding-time analysis algorithm, which is based on a type system, covers a non-object-oriented subset of JVML. A specializer, which generates programs on a per-instruction basis, can performmethod inlining at run-time. The performance measurement showed that a non-trivial application program specialized at run-time by BCS runs approximately 3–4 times faster than the unspecialized one. Despite the large amount of overheads at JIT compilation of specialized code, we observed that the overall performance of the application can be improved.
منابع مشابه
Generating Optimized Residual Code in Run-Time Specialization
Run-time specialization (RTS) techniques efficiently generate specialized programs with respect to run-time values. They construct compiled native-code fragments called templates at compile-time, and generate a specialized program by merely copying the templates. The generated programs are less efficient than those generated by static partial evaluation techniques because the RTS techniques pre...
متن کاملRun-Time Program Specialization in Java Bytecode
Run-time specialization (RTS) is a technique that efficiently generates specialized programs with respect to runtime values. For efficiently generating specialized programs, RTS constructs compiled native code fragments called templates at compile-time, and generates a specialized program by merely copying the templates. The generated programs are, on the other hand, less efficient, since the t...
متن کاملImproving the JVM Bytecode Generated by the Scala Compiler Parameterised types specialization
In this semester project report I describe my work on designing a new compilation strategy for Scala parameterised types on top of JVM. I will explore existing solutions and propose the Miniboxing strategy which has better speed and space performance than the standard erasure implementation, while it generates less bytecode than the full specialization approach. I will also propose a strategy t...
متن کاملSafe and Efficient Hardware Specialization of Java Applications
Providing Java applications with access to low-level system resources, including fast network and I/O interfaces, requires functionality not provided by the Java Virtual Machine instruction set. Currently, Java applications obtain this functionality by executing code written in a lower-level language, such as C, through a native method interface. However, the overhead of this interface can be v...
متن کاملAutomatic, Template-Based Run-Time Specialization: Implementation and Experimental Study
Specializing programs with respect to run-time values has been shown to drastically improve code performance on realistic programs ranging from operating systems to graphics. Recently, various approaches to specializing code at run-time have been proposed. However, these approaches still suuer from shortcomings that limit their applicability: they are manual, too expensive, or require programs ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2001